New multi-media techniques such as Voice over IP (VoIP) and Internet Protocol Television (IPTV) open a whole range of new multi-media services. One type of these services enable a group of users to separately watch the same TV channel and communicate with each other using text, audio and/or video. Another type of these services provide interactive television experiences, such as a broadcasted television quiz wherein viewers at home may input answers to broadcasted questions and participate in the show. Such services require that the output signal of the terminals is transmitted at the same time to all users in the group. In other words, the outputs of the display or play-out devices in the group e.g. televisions, PDAs, mobile devices, PCs or a combination thereof, corresponding to different destinations, should be synchronized.
In an IPTV system, the TV channel signal is typically transmitted as one or more packetized streams over a high-bandwidth IP network of an operator via network nodes such as head-ends, edge routers and access nodes to the terminals of the subscribers to such services. During transmission of the streams, the packets are subjected to unknown delays in the network such as transmission delays, differences in network routes and differences in coding and decoding delays. As a consequence the temporal relationship between packets of audio and video streams received at a first terminal (a first destination) and those received at another second terminal (a second destination) will be disturbed.
To stream the IPTV content to the terminals usually the Real-Time Transport Protocol (RTP) is used. RTP provides sequence numbering and time stamping. Using RTP the temporal relation in one stream (intra-stream synchronization), between associated streams terminating at the same end-terminal (inter-stream synchronization) or between associated streams terminating at different end-terminals (group-synchronization or inter-destination synchronization) may be restored. This invention is also applicable to other media transport protocols, e.g. using MPEG Transport Stream over UDP or using HTTP as transport protocol. The article “Multimedia group and inter-stream synchronization techniques: A comparative study” by F. Boronat et al. (Elsevier Information Systems 34 (2009) pp. 108-131) provides a comprehensive overview of known inter-destination synchronization techniques.
The referenced inter-destination synchronization techniques may be sub-divided in three main categories. In the “Synchronization Maestro Scheme” (SMS), a central synchronization master collects timing information from all terminals in the group and adjusts the output timing by distributing control packets to the terminals. In the “Master-Slave Receiver Scheme” (MSRS), receivers (terminals) are classified into a master receiver and slave receivers. The master receiver multi-casts its output timing to the slave receivers, which adjust their output timing of packets accordingly. In the “Distributed Control Scheme” (DCS), each terminal (receiver) multicasts all timing information to all other terminals in the group and terminal is configured for calculating the appropriate output timing. These schemes have in common that the synchronization takes place either at the source or receiving end of a media stream.
WO2009/053072 describes a further network-controlled inter-destination synchronization scheme wherein network nodes, e.g. at border network node in the media path, provide inter-destination synchronization of user equipment connected thereto. This method is particularly suitable for large scale deployment and services that tolerate small differences, e.g. in the order of standard jitter, in propagation times of streams resulting from differences in the access lines that connect the stream destinations to an operator network. Synchronization is realized by implementing a synchronization entity, e.g. a synchronization client, in the designated network node, wherein the synchronization entity is configured to measure information on the arrival time of packets, to report these measured times in synchronization status information to a synchronization server and to receive synchronization settings instructions from the synchronization server to instruct its variable delay buffer.
One problem related to a synchronization scheme residing in the network is that it cannot cope with, or at least have difficulties handling situations wherein the stream between the synchronizing network node and the receiver is modified by a transcoder for content preparation and/or content re-generation purposes (e.g. for conversion from a high definition (HD) to standard definition (SD), MPEG-3 to MPEG-2 and/or from a high bit rate to a lower bit rate). These modifications may introduce substantial delays that may not be compensated for by the synchronizing network node. Further, differences in the UE's resulting in different decoding delays and jitter buffer settings may cause additional delays which may cause an increase of delays and delay differences between UE's that may no longer be tolerable when using certain services.
Another problem relates to the fact that a synchronization scheme residing in the network requires a network node, which is configured to measure media unit arrival times. Such functionality requires deep packet inspection wherein at least header information of different media packets, e.g. RTP headers or MPEG TS headers, must be filtered in order to enable reporting on packet arrival time. Considering that under certain circumstances it may be desirable that a synchronization network node may process many different media transport protocols (including proprietary transport protocols) implementation of such functionality in a network node, which is mainly configured for routing functions, may become complex and expensive.
In summary, all known inter-destination-synchronization schemes may each have their own disadvantages, such as, but not limited to: inefficient use of buffering resources (for example when each end-terminal would require a large additional buffer), zapping (resynchronization) delays during channel changes, imprecise delay measurements.
Hence, there is a need in the art for improved methods, systems and devices, which may provide efficient network-controllable synchronization of media play-out of one or more terminals.